Skip to content
This repository was archived by the owner on Jun 1, 2026. It is now read-only.

Refactor and remove prost + tonic - #1131

Merged
gemcoder21 merged 1 commit into
mainfrom
remove-prost
May 15, 2026
Merged

gemcoder21 merged 1 commit into
mainfrom
remove-prost

Conversation

@0xh3rman

Copy link
Copy Markdown
Collaborator

No description provided.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request replaces heavy external dependencies like sui-rpc, prost, and tonic with a custom, lightweight Protobuf and gRPC implementation within the gem_encoding and gem_jsonrpc crates. It introduces new macros for message encoding/decoding and refactors the Sui and SuiNS clients to use these tools. The review feedback identifies critical issues where the custom implementation fails to correctly handle Protobuf oneof encoding, which will lead to server-side rejections. Additionally, the feedback points out a missing check for gRPC-specific status headers in the transport layer, potential overflow bugs in varint decoding, and opportunities to optimize memory allocations during byte field encoding.

Comment thread crates/gem_sui/src/rpc/proto/transaction_data/argument.rs
Comment thread crates/gem_sui/src/rpc/proto/transaction_data/input.rs
Comment thread crates/gem_sui/src/rpc/proto/transaction_data/transaction.rs
Comment thread crates/gem_jsonrpc/src/grpc.rs
Comment thread crates/gem_encoding/src/protobuf/decode.rs
Comment thread crates/gem_encoding/src/protobuf/encode.rs
Comment thread crates/gem_jsonrpc/src/grpc.rs
@gemcoder21
gemcoder21 merged commit 0ef68ae into main May 15, 2026
5 checks passed
@gemcoder21
gemcoder21 deleted the remove-prost branch May 15, 2026 15:16
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants